package cn.unknowpupil.init.service.gen;

import cn.unknowpupil.init.domain.gen.GenTableColumn;
import cn.unknowpupil.init.mapper.gen.GenTableColumnMapper;
import com.baomidou.mybatisplus.extension.service.IService;
import com.baomidou.mybatisplus.core.metadata.IPage;

import java.util.List;

/**
 * Created at 2020-11-30 by  w10g <br>
 * Initialize GenTableColumn  ... <br>
 * 代码生成业务表字段 核心业务处理接口
 *
 * @author unknowpupil
 * @since 0.0.1
 */
public interface IGenTableColumnService extends IService<GenTableColumn> {
    /**
     * 新增
     *
     * @param genTableColumn {@link GenTableColumn}  代码生成业务表字段
     * @return {@link GenTableColumn}
     */
    boolean create(GenTableColumn genTableColumn);

    /**
     * 详情
     *
     * @param id {@code Long}   GenTableColumn ID
     * @return {@link GenTableColumn}
     */
    GenTableColumn info(Long id);

    /**
     * 删除
     *
     * @param ids {@code Long}   GenTableColumn ID
     * @return {@link GenTableColumn}
     */
    boolean delete(Long[] ids);


    /**
     * 修改
     *
     * @param genTableColumn {@link GenTableColumn}  代码生成业务表字段
     * @return {@link GenTableColumn}
     */
    boolean update(GenTableColumn genTableColumn);


    /**
     * 分页
     *
     * @param current        {@code int} 页码
     * @param size           {@code int} 笔数
     * @param genTableColumn {@link GenTableColumn}
     * @return {@code IPage<GenTableColumn>}
     */
    IPage<GenTableColumn> page(int current, int size, GenTableColumn genTableColumn);
        /**
         * 查询业务字段列表
         *
         * @param tableId 业务字段编号
         * @return 业务字段集合
         */
    List<GenTableColumn> selectGenTableColumnListByTableId(Long tableId);
        /**
         * 查询业务字段列表
         *
         * @param tableId 业务字段编号
         * @param current 业务字段编号
         * @param size 业务字段编号
         * @return 业务字段集合
         */
        IPage<GenTableColumn> selectGenTableColumnListByTableId(Long tableId,int current,int size);
}
